<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>websocket::stream::secure_prng</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../../index.html" title="Chapter 1. Boost.Beast">
<link rel="up" href="../boost__beast__websocket__stream.html" title="websocket::stream">
<link rel="prev" href="read_message_max/overload2.html" title="websocket::stream::read_message_max (2 of 2 overloads)">
<link rel="next" href="write_buffer_bytes.html" title="websocket::stream::write_buffer_bytes">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="read_message_max/overload2.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__websocket__stream.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_buffer_bytes.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="beast.ref.boost__beast__websocket__stream.secure_prng"></a><a class="link" href="secure_prng.html" title="websocket::stream::secure_prng">websocket::stream::secure_prng</a>
</h5></div></div></div>
<p>
          <a class="indexterm" name="idm56935"></a>
        </p>
<p>
          Set whether the PRNG is cryptographically secure.
        </p>
<h6>
<a name="beast.ref.boost__beast__websocket__stream.secure_prng.h0"></a>
          <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.secure_prng.synopsis"></a></span><a class="link" href="secure_prng.html#beast.ref.boost__beast__websocket__stream.secure_prng.synopsis">Synopsis</a>
        </h6>
<pre class="programlisting"><span class="keyword">void</span>
<span class="identifier">secure_prng</span><span class="special">(</span>
    <span class="keyword">bool</span> <span class="identifier">value</span><span class="special">);</span>
</pre>
<h6>
<a name="beast.ref.boost__beast__websocket__stream.secure_prng.h1"></a>
          <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.secure_prng.description"></a></span><a class="link" href="secure_prng.html#beast.ref.boost__beast__websocket__stream.secure_prng.description">Description</a>
        </h6>
<p>
          This controls whether or not the source of pseudo-random numbers used to
          produce the masks required by the WebSocket protocol are of cryptographic
          quality. When the setting is <code class="computeroutput"><span class="keyword">true</span></code>,
          a strong algorithm is used which cannot be guessed by observing outputs.
          When the setting is <code class="computeroutput"><span class="keyword">false</span></code>,
          a much faster algorithm is used. Masking is only performed by streams operating
          in the client mode. For streams operating in the server mode, this setting
          has no effect. By default, newly constructed streams use a secure PRNG.
          If the WebSocket stream is used with an encrypted SSL or TLS next layer,
          if it is known to the application that intermediate proxies are not vulnerable
          to cache poisoning, or if the application is designed such that an attacker
          cannot send arbitrary inputs to the stream interface, then the faster algorithm
          may be used. For more information please consult the WebSocket protocol
          RFC.
        </p>
<h6>
<a name="beast.ref.boost__beast__websocket__stream.secure_prng.h2"></a>
          <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.secure_prng.parameters"></a></span><a class="link" href="secure_prng.html#beast.ref.boost__beast__websocket__stream.secure_prng.parameters">Parameters</a>
        </h6>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                  <p>
                    Name
                  </p>
                </th>
<th>
                  <p>
                    Description
                  </p>
                </th>
</tr></thead>
<tbody><tr>
<td>
                  <p>
                    <code class="computeroutput"><span class="identifier">value</span></code>
                  </p>
                </td>
<td>
                  <p>
                    <code class="computeroutput"><span class="keyword">true</span></code> if the PRNG
                    algorithm should be cryptographically secure.
                  </p>
                </td>
</tr></tbody>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2016-2019 Vinnie
      Falco<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="read_message_max/overload2.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__websocket__stream.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_buffer_bytes.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
